// 引入封装的请求方法request
import { cjRequest } from '../../utils/service'

// console.log(uu.cjLogin);
/**
 * 小程序有一个在内存中的【页面栈】，用来存储用户打开的多个页面和返回上级或多级页面
 * !但是：页面栈只会存放10个页面，超出就会释放前面先入栈的页面
 * 比如：打开了15个页面，那么用户在第15个页面点击返回上一个页面，只能返回10次(到正数第5个页面就无法再往上返回了)，
 * ?也就是说最开始的前5个页面无法返回到了，前5个页面已经被小程序的页面栈释放了（为了节约内存）
 */
Page({
  /**
   * !注意：这里是页面触发的方法！不是整个应用（整个小程序）
   * ?但是，整个应用触发的效果是覆盖页面的效果的（例如：整个应用隐藏，也会触发页面的隐藏方法）
   *  */
  /**
   * 页面的初始数据
   */
  /**
   * data中最好只存放页面渲染要用到的数据，存放过多无用的数据会导致小程序很卡
   * 例如：后端返回一个对象，里面很多数据用不到，只会用到一个小数组，那data中就只放这个小数据就行了，
   *! 不要直接将整个返回的数据都存进data中，因为会保存在AppData中，导致小程序很卡
  */
  data: {
    // 轮播图数组
    swiperList: [],
    // 分类菜单数据
    catesList: [],
    // 楼层数据
    floorList: []
  },

  /**
   * 生命周期函数--监听页面加载
   * 一般在onLoad方法中去发起页面数据的请求，用于获取页面渲染所需的数据
   * 只有 onload方法里，才能获取 页面的options参数，其他比如onshow方法是没法获取参数的
   */
  onLoad: function (options) {
    // 获取轮播图数据
    this.getswiperList()
    // 获取分类菜单数据
    this.getcatitems()
    // 获取楼层数据
    this.getfloor()

  },
  // 获取轮播图数据
  getswiperList () {
    // 使用自己封装的方法进行请求（因为封装成promise，可以.then,避免回调地狱）
    cjRequest({
      url: '/home/swiperdata',
      // 使用的时候就传入一些header的字段
      header: {
        'content-type': 'application/json'
      },
      method: 'GET',
    }).then((result) => {
      this.setData({
        swiperList: result.data.message
      })
    })
  },
  // 获取分类菜单数据
  getcatitems () {
    cjRequest({
      url: '/home/catitems',
      // 可以不写这个header，默认就是这个键值对
      // header: { 'content-type': 'application/json' },
      method: 'GET',
    }).then((result) => {
      this.setData({
        catesList: result.data.message
      })
    })
  },
  // 获取楼层数据
  getfloor () {
    cjRequest({
      url: '/home/floordata',
    }).then((result) => {
      this.setData({
        floorList: result.data.message
      })
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   * !onShow比onReady先触发，因为页面会先显示出来，那时候页面不一定是能渲染完成的（onReady）
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   * 跳转页面，相当隐藏此页面，就会触发这个方法
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   * 所谓【卸载】，就是删除了此页面的跳转
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   * 只有当页面内容超过100vh时（也就是有滚动条了），滚动到页面底部，才会触发
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})